load("@com_google_protobuf//:protobuf.bzl", "py_proto_library")
load("@rules_cc//cc:defs.bzl", "cc_proto_library")
load("@rules_java//java:defs.bzl", "java_proto_library")
load("@rules_proto//proto:defs.bzl", "proto_library")

proto_library(
    name = "libruntime_proto",
    srcs = [
        "libruntime.proto",
    ],
)

cc_proto_library(
    name = "libruntime_cc_proto",
    visibility = ["//visibility:public"],
    deps = [":libruntime_proto"],
)

cc_library(
    name = "libruntime_cc_proto_hdrs",
    hdrs = glob([
        "*.h",
    ]),
    visibility = ["//visibility:public"],
    deps = [
        "libruntime_cc_proto",
    ],
)

java_proto_library(
    name = "libruntime_java_proto",
    visibility = ["//visibility:public"],
    deps = [":libruntime_proto"],
)

py_proto_library(
    name = "libruntime_py_proto",
    srcs = ["libruntime.proto"],
    visibility = ["//visibility:public"],
)

proto_library(
    name = "socket_proto",
    srcs = [
        "socket.proto",
    ],
)

cc_proto_library(
    name = "socket_cc_proto",
    visibility = ["//visibility:public"],
    deps = [":socket_proto"],
)

java_proto_library(
    name = "socket_java_proto",
    visibility = ["//visibility:public"],
    deps = [":socket_proto"],
)

cc_library(
    name = "socket_cc_proto_hdrs",
    hdrs = glob([
        "*.h",
    ]),
    visibility = ["//visibility:public"],
    deps = [
        "socket_cc_proto",
    ],
)
